C# এর Object থেকে JSON তৈরি করা

JSON এবং C# Integration - জেসন (JSON) - Java Technologies

329

C# (C Sharp) একটি প্রোগ্রামিং ভাষা যা .NET ফ্রেমওয়ার্কের অংশ। C#-এ JSON ডেটা তৈরি করার প্রক্রিয়া বা serialization খুবই গুরুত্বপূর্ণ, কারণ এটি ওয়েব অ্যাপ্লিকেশন এবং সার্ভিসের মধ্যে ডেটা আদান-প্রদান সহজ করে। C# এর Object থেকে JSON তৈরি করার জন্য সাধারণত Newtonsoft.Json (যা Json.NET নামে পরিচিত) বা System.Text.Json ব্যবহার করা হয়।

C# এর Object থেকে JSON তৈরি করার প্রক্রিয়া


Serialization এর মাধ্যমে একটি C# অবজেক্টকে JSON ফরম্যাটে রূপান্তর করা হয়। এতে আমরা একটি C# অবজেক্টের প্রপার্টি বা ফিল্ডের মান JSON ফরম্যাটে তৈরি করতে পারি।

১. Newtonsoft.Json ব্যবহার করে C# Object থেকে JSON তৈরি করা


Newtonsoft.Json বা Json.NET C# এ JSON অপারেশন করার জন্য একটি জনপ্রিয় লাইব্রেরি। এটি C# অবজেক্টকে JSON এ রূপান্তর করতে খুবই সহজ এবং কার্যকরী।

Newtonsoft.Json লাইব্রেরি ইনস্টল করা:

NuGet প্যাকেজ ম্যানেজার ব্যবহার করে Newtonsoft.Json ইনস্টল করতে হবে:

Install-Package Newtonsoft.Json

উদাহরণ:

ধরা যাক, আমাদের একটি Person ক্লাস রয়েছে, যেটি JSON ফরম্যাটে রূপান্তর করতে হবে।

using Newtonsoft.Json;
using System;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        // C# অবজেক্ট তৈরি করা
        Person person = new Person
        {
            Name = "John Doe",
            Age = 30
        };

        // C# অবজেক্ট থেকে JSON তৈরি করা
        string jsonString = JsonConvert.SerializeObject(person);

        // JSON আউটপুট প্রদর্শন
        Console.WriteLine(jsonString);
    }
}

আউটপুট:

{"Name":"John Doe","Age":30}

এখানে, JsonConvert.SerializeObject মেথডটি C# অবজেক্টকে JSON স্ট্রিং এ রূপান্তর করেছে।

২. System.Text.Json ব্যবহার করে C# Object থেকে JSON তৈরি করা


System.Text.Json হল Microsoft-এর তৈরি একটি লাইব্রেরি, যা .NET Core 3.0 এবং পরবর্তী সংস্করণে অন্তর্ভুক্ত করা হয়েছে। এটি Newtonsoft.Json এর তুলনায় দ্রুত এবং হালকা।

উদাহরণ:

using System;
using System.Text.Json;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        // C# অবজেক্ট তৈরি করা
        Person person = new Person
        {
            Name = "John Doe",
            Age = 30
        };

        // C# অবজেক্ট থেকে JSON তৈরি করা
        string jsonString = JsonSerializer.Serialize(person);

        // JSON আউটপুট প্রদর্শন
        Console.WriteLine(jsonString);
    }
}

আউটপুট:

{"Name":"John Doe","Age":30}

এখানে, JsonSerializer.Serialize মেথডটি C# অবজেক্টকে JSON স্ট্রিং এ রূপান্তর করেছে।

JSON Serialization Customization


যখন C# অবজেক্ট থেকে JSON তৈরি করা হয়, তখন কিছু ক্ষেত্রে আমরা JSON আউটপুট কাস্টমাইজ করতে চাই। যেমন:

  • Property Naming: কিছু ক্ষেত্রে প্রপার্টি নাম পরিবর্তন করতে হতে পারে।
  • Ignoring Properties: কিছু প্রপার্টি JSON আউটপুটে অন্তর্ভুক্ত করতে চাই না।

১. Property Naming Customization

Newtonsoft.Json এবং System.Text.Json উভয় লাইব্রেরি তে প্রপার্টির নাম কাস্টমাইজ করা সম্ভব।

Newtonsoft.Json ব্যবহার করে:

using Newtonsoft.Json;
using System;

public class Person
{
    [JsonProperty("full_name")] // Custom name for the property
    public string Name { get; set; }

    [JsonProperty("years_old")] // Custom name for the property
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        Person person = new Person
        {
            Name = "John Doe",
            Age = 30
        };

        string jsonString = JsonConvert.SerializeObject(person);
        Console.WriteLine(jsonString);
    }
}

আউটপুট:

{"full_name":"John Doe","years_old":30}

System.Text.Json ব্যবহার করে:

using System;
using System.Text.Json;
using System.Text.Json.Serialization;

public class Person
{
    [JsonPropertyName("full_name")] // Custom name for the property
    public string Name { get; set; }

    [JsonPropertyName("years_old")] // Custom name for the property
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        Person person = new Person
        {
            Name = "John Doe",
            Age = 30
        };

        string jsonString = JsonSerializer.Serialize(person);
        Console.WriteLine(jsonString);
    }
}

আউটপুট:

{"full_name":"John Doe","years_old":30}

২. Ignoring Properties

কোনো প্রপার্টি JSON এ না আনার জন্য [JsonIgnore] অ্যাট্রিবিউট ব্যবহার করা যায়।

using Newtonsoft.Json;
using System;

public class Person
{
    public string Name { get; set; }

    [JsonIgnore] // Ignore this property in JSON output
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        Person person = new Person
        {
            Name = "John Doe",
            Age = 30
        };

        string jsonString = JsonConvert.SerializeObject(person);
        Console.WriteLine(jsonString);
    }
}

আউটপুট:

{"Name":"John Doe"}

সারাংশ


C# এ Object Serialization একটি গুরুত্বপূর্ণ প্রক্রিয়া, যার মাধ্যমে C# অবজেক্টগুলোকে JSON ফরম্যাটে রূপান্তর করা হয়। Newtonsoft.Json এবং System.Text.Json হল C# এ JSON তৈরি করার জন্য দুটি জনপ্রিয় লাইব্রেরি। এই লাইব্রেরিগুলির সাহায্যে আমরা সহজেই C# অবজেক্টকে JSON-এ রূপান্তর করতে পারি, এবং JSON ডেটাকে কাস্টমাইজ করতে পারি যেমন প্রপার্টি নাম পরিবর্তন, প্রপার্টি উপেক্ষা করা, ইত্যাদি।

Content added By
Promotion

Are you sure to start over?

Loading...